//
//  BCTools.h
//  BananaChat
//
//  Created by 于洪东 on 2019/11/1.
//  Copyright © 2019 香蕉. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface BCTools : NSObject


/**
 根据key删除偏好设置里的存储
 
 @param key key
 */
+ (void)removeValueforKey:(NSString *)key;


/**
 根据key写入数据到偏好设置
 
 @param value key
 @param key value
 */
+ (void)writeValue:(id)value forKey:(NSString *)key;


/**
 根据key读取偏好设置里的数据
 
 @param key key
 @return value
 */
+ (id)readValueForKey:(NSString *)key;

/**
 是否是刘海屏
 
 @return 是否是刘海屏
 */
+ (BOOL)isPhoneX;

/**
 计算图片的大小
 
 @param image 图片
 */
+ (void)calulateImageFileSize:(UIImage *)image ;


/**
 计算字节的大小
 
 @param data 传入的数据
 */
+ (void)calulateImageFileSizeWithData:(NSData *)data;



/**
 根据view生成图片
 
 @param view view
 @param size 大小
 @return 图片
 */
+ (UIImage *)makeImageWithView:(UIView *)view withSize:(CGSize)size;



/**
 图片加载中...
 
 @return 图片
 */
+ (UIImage *)attachPlaceHolderImage;


/**
 防止字典添加空对象
 
 @param xDic 字典
 @param i 对象
 @param key key
 */
+ (void)xDic:(NSMutableDictionary *)xDic setObj:(id)i forKey:(NSString*)key;

/**
 防止数组添加空对象
 
 @param xArray 数组
 @param i 对象
 */
+ (void)xArray:(NSMutableArray *)xArray addObject:(id)i;

/**
 解析字典的某个值成字符串
 
 @param value 字典值
 @return 字符串
 */
+ (NSString *)stringForValue:(id)value;


/**
 检查
 
 @return 是否
 */
+ (BOOL)isInspectCheck;



/**
 获取设备唯一标识
 
 @return idfa
 */
+ (NSString *)getIDFA;


/**
 *  获取当前App的版本号信息
 */
+ (NSString *)getAppVersion;

/**
 *  获取当前App的build版本号信息
 */
+ (NSString *)getAppBuildVersion;

/**
 *  获取当前App的包名信息
 */
+ (NSString *)getAppBundleId;

/**
 *  获取当前App的名称信息
 */
+ (NSString *)getAppDisplayName;


/**
 *  获取当前设备的横向最大值
 */
+ (NSNumber *)getDeviceXMaxValue;

/**
 *  获取当前设备的纵向最大值
 */
+ (NSNumber *)getDeviceYMaxValue;

/**
 *  获取当前设备的横向分辨率值
 */
+ (NSNumber *)getDeviceXResolution;

/**
 *  获取当前设备的纵向分辨率值
 */
+ (NSNumber *)getDeviceYResolution;

/**
 *  获取当前设备的型号名称
 */
+ (NSString *)getDeviceModel;

/**
 *  获取当前设备的操作系统名称
 */
+ (NSString *)getDeviceOSName;

/**
 *  获取当前设备的操作系统版本号
 */
+ (NSString *)getDeviceOSVersion;





@end

NS_ASSUME_NONNULL_END
